package com.ruoyi.kycinfo.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 【请填写功能名称】对象 kyc_product
 *
 * @author ruoyi
 * @date 2023-10-10
 */
public class KycProduct extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 金融产品主键id
     */
    private Long productId;

    /**
     * 用户id
     */
    @Excel(name = "kyc用户id")
    private Long userInfoId;

    /**
     * 客户风险评估情况：
     * R1保守型
     * R2稳健型
     * R3平衡型
     * R4成长型
     * R5进取型
     */
    @Excel(name = "客户风险评估情况")
    private String risk;

    /**
     * 重点交叉产品：
     * 活期
     * 定期
     * T+0
     * 理财
     * 基金
     * 保险
     * 贵金属
     * 手机银行
     * 证书版网银
     * 信用卡
     * 个贷
     * 三方存管
     * 代发工资
     */
    @Excel(name = "重点交叉产品")
    private String keyProduct;
    private String keyProductOther;

    /**
     * 在我行是否有贷款
     * 无/有
     */
    @Excel(name = "在我行是否有贷款")
    private String myLoan;

    /**
     * 贷款原因：
     * 一手房按揭1
     * 二手房按揭2
     * 房抵贷3
     * 公积金网贷4
     * 出国留学贷款5
     * 其他贷款6
     */
    @Excel(name = "在我行贷款原因")
    private String myLoanReason;
    private String myLoanReasonOther;

    /**
     * 在他行是否有贷款
     * 无/有
     */
    @Excel(name = "在他行是否有贷款")
    private String otherLoan;


    /**
     * 贷款原因：
     * 一手房按揭1
     * 二手房按揭2
     * 房抵贷3
     * 公积金网贷4
     * 出国留学贷款5
     * 其他贷款6
     */
    @Excel(name = "在他行贷款原因")
    private String otherLoanReason;
    private String otherLoanReasonOther;

    /**
     * 信用卡张数
     */
    @Excel(name = "信用卡张数")
    private Integer creditCardCount;

    /**
     * 卡基类别
     */
    @Excel(name = "卡基类别")
    private String creditCardType;

    /**
     * 主要在用他行卡情况
     */
    @Excel(name = "主要在用他行卡情况")
    private String situation;

    /**
     * 关注点
     */
    @Excel(name = "关注点")
    private String focus;

    /**
     * 借记卡类别：
     * 普卡1
     * 金卡2
     * 白金卡3
     * 钻石卡4
     * 其他5
     */
    @Excel(name = "借记卡")
    private String debitCardType;
    private String debitCardTypeOther;

    /**
     * 他行卡主办行
     */
    @Excel(name = "他行卡主办行")
    private String otherBank;

    /**
     * 是否借贷关联：
     * 是/否
     */
    @Excel(name = "是否借贷关联")
    private String loanRelevant;

    /**
     * 绑定情况：
     * 微信1
     * 支付宝2
     */
    @Excel(name = "绑定情况")
    private String bind;

    /**
     * 支付绑定银行卡机构
     */
    @Excel(name = "支付绑定银行卡机构")
    private String bindInstitution;

    /**
     * 存款类型：
     * 活期1
     * 定期2
     * 结构性3
     * 其他4
     */
    @Excel(name = "存款")
    private String depositType;
    private String depositTypeOther;

    /**
     * 理财类型：
     * 预期收益型1
     * 净值型2
     * T+0理财
     */
    @Excel(name = "理财")
    private String moneyManage;

    /**
     * 信托等其他代销产品
     * 是/否
     */
    @Excel(name = "信托等其他代销产品")
    private String trust;

    /**
     * 基金：
     * 货币型1
     * 混合型2
     * 指数型3
     * 股票型4
     * 私募5
     * 其他6
     */
    @Excel(name = "基金")
    private String fund;
    private String fundOther;

    /**
     * 保险：
     * 期缴费型1
     * 泵缴型2
     * 年金型3
     * 分红型4
     * 重疾型5
     * 其他6
     */
    @Excel(name = "保险")
    private String insurance;
    private String insuranceOther;

    /**
     * 已持有保险产品保险公司
     */
    @Excel(name = "已持有保险产品保险公司")
    private String insuranceCompany;

    /**
     * 贵金属：
     * 收藏类投资型1
     * 饰品型2
     */
    @Excel(name = "贵金属")
    private String nobleMetal;

    /**
     * 偏爱活动主题：
     * 财富管理1
     * 亲子教育2
     * 健康管理3
     * 文艺活动4
     * 体育运动5
     * 升学留学6
     * 形象提升7
     * 专业咨询8
     * 其他9
     */
    @Excel(name = "偏爱活动主题")
    private String activity;
    private String activityOther;

    /**
     * 金融产品覆盖情况备注
     */
    @Excel(name = "金融产品覆盖情况备注")
    private String productRemark;

    public void setProductId(Long productId) {
        this.productId = productId;
    }

    public Long getProductId() {
        return productId;
    }

    public void setUserInfoId(Long userInfoId) {
        this.userInfoId = userInfoId;
    }

    public Long getUserInfoId() {
        return userInfoId;
    }

    public void setRisk(String risk) {
        this.risk = risk;
    }

    public String getRisk() {
        return risk;
    }

    public void setKeyProduct(String keyProduct) {
        this.keyProduct = keyProduct;
    }

    public String getKeyProductOther() {
        return keyProductOther;
    }

    public void setKeyProductOther(String keyProductOther) {
        this.keyProductOther = keyProductOther;
    }

    public String getMyLoanReasonOther() {
        return myLoanReasonOther;
    }

    public void setMyLoanReasonOther(String myLoanReasonOther) {
        this.myLoanReasonOther = myLoanReasonOther;
    }

    public String getOtherLoanReasonOther() {
        return otherLoanReasonOther;
    }

    public void setOtherLoanReasonOther(String otherLoanReasonOther) {
        this.otherLoanReasonOther = otherLoanReasonOther;
    }

    public String getDebitCardTypeOther() {
        return debitCardTypeOther;
    }

    public void setDebitCardTypeOther(String debitCardTypeOther) {
        this.debitCardTypeOther = debitCardTypeOther;
    }

    public String getDepositTypeOther() {
        return depositTypeOther;
    }

    public void setDepositTypeOther(String depositTypeOther) {
        this.depositTypeOther = depositTypeOther;
    }

    public String getFundOther() {
        return fundOther;
    }

    public void setFundOther(String fundOther) {
        this.fundOther = fundOther;
    }

    public String getInsuranceOther() {
        return insuranceOther;
    }

    public void setInsuranceOther(String insuranceOther) {
        this.insuranceOther = insuranceOther;
    }

    public String getActivityOther() {
        return activityOther;
    }

    public void setActivityOther(String activityOther) {
        this.activityOther = activityOther;
    }

    public String getKeyProduct() {
        return keyProduct;
    }

    public void setMyLoan(String myLoan) {
        this.myLoan = myLoan;
    }

    public String getMyLoan() {
        return myLoan;
    }

    public void setMyLoanReason(String myLoanReason) {
        this.myLoanReason = myLoanReason;
    }

    public String getMyLoanReason() {
        return myLoanReason;
    }

    public void setOtherLoan(String otherLoan) {
        this.otherLoan = otherLoan;
    }

    public String getOtherLoan() {
        return otherLoan;
    }

    public void setOtherLoanReason(String otherLoanReason) {
        this.otherLoanReason = otherLoanReason;
    }

    public String getOtherLoanReason() {
        return otherLoanReason;
    }

    public void setCreditCardCount(Integer creditCardCount) {
        this.creditCardCount = creditCardCount;
    }

    public Integer getCreditCardCount() {
        return creditCardCount;
    }

    public void setCreditCardType(String creditCardType) {
        this.creditCardType = creditCardType;
    }

    public String getCreditCardType() {
        return creditCardType;
    }

    public void setSituation(String situation) {
        this.situation = situation;
    }

    public String getSituation() {
        return situation;
    }

    public void setFocus(String focus) {
        this.focus = focus;
    }

    public String getFocus() {
        return focus;
    }

    public void setDebitCardType(String debitCardType) {
        this.debitCardType = debitCardType;
    }

    public String getDebitCardType() {
        return debitCardType;
    }

    public void setOtherBank(String otherBank) {
        this.otherBank = otherBank;
    }

    public String getOtherBank() {
        return otherBank;
    }

    public void setLoanRelevant(String loanRelevant) {
        this.loanRelevant = loanRelevant;
    }

    public String getLoanRelevant() {
        return loanRelevant;
    }

    public void setBind(String bind) {
        this.bind = bind;
    }

    public String getBind() {
        return bind;
    }

    public void setBindInstitution(String bindInstitution) {
        this.bindInstitution = bindInstitution;
    }

    public String getBindInstitution() {
        return bindInstitution;
    }

    public void setDepositType(String depositType) {
        this.depositType = depositType;
    }

    public String getDepositType() {
        return depositType;
    }

    public void setMoneyManage(String moneyManage) {
        this.moneyManage = moneyManage;
    }

    public String getMoneyManage() {
        return moneyManage;
    }

    public void setTrust(String trust) {
        this.trust = trust;
    }

    public String getTrust() {
        return trust;
    }

    public void setFund(String fund) {
        this.fund = fund;
    }

    public String getFund() {
        return fund;
    }

    public void setInsurance(String insurance) {
        this.insurance = insurance;
    }

    public String getInsurance() {
        return insurance;
    }

    public void setInsuranceCompany(String insuranceCompany) {
        this.insuranceCompany = insuranceCompany;
    }

    public String getInsuranceCompany() {
        return insuranceCompany;
    }

    public void setNobleMetal(String nobleMetal) {
        this.nobleMetal = nobleMetal;
    }

    public String getNobleMetal() {
        return nobleMetal;
    }

    public void setActivity(String activity) {
        this.activity = activity;
    }

    public String getActivity() {
        return activity;
    }

    public void setProductRemark(String productRemark) {
        this.productRemark = productRemark;
    }

    public String getProductRemark() {
        return productRemark;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("productId", getProductId())
                .append("userInfoId", getUserInfoId())
                .append("risk", getRisk())
                .append("keyProduct", getKeyProduct())
                .append("myLoan", getMyLoan())
                .append("myLoanReason", getMyLoanReason())
                .append("otherLoan", getOtherLoan())
                .append("otherLoanReason", getOtherLoanReason())
                .append("creditCardCount", getCreditCardCount())
                .append("creditCardType", getCreditCardType())
                .append("situation", getSituation())
                .append("focus", getFocus())
                .append("debitCardType", getDebitCardType())
                .append("otherBank", getOtherBank())
                .append("loanRelevant", getLoanRelevant())
                .append("bind", getBind())
                .append("bindInstitution", getBindInstitution())
                .append("depositType", getDepositType())
                .append("moneyManage", getMoneyManage())
                .append("trust", getTrust())
                .append("fund", getFund())
                .append("insurance", getInsurance())
                .append("insuranceCompany", getInsuranceCompany())
                .append("nobleMetal", getNobleMetal())
                .append("activity", getActivity())
                .append("productRemark", getProductRemark())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .toString();
    }
}
